/* ==================
        flex布局样式
 ==================== */
img {
  width: 100%;
  height: 100%;
}
div {
  box-sizing: border-box;
}

/* 水平 */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* 垂直 */
.flex-col {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 横向水平居中 */
.flex-row-hc {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

/* 横向垂直居中 */
.flex-row-vc {
  display: flex;
  align-items: center;
  flex-direction: row;
}

/* 横向水平垂直居中 */
.flex-row-hvc {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 纵向水平居中 */
.flex-col-hc {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 纵向垂直居中 */
.flex-col-vc {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* 纵向垂直水平居中 */
.flex-col-vhc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* 主轴 左对齐 */
.flex-main-left {
  justify-content: flex-start;
}

/* 主轴 右对齐 */
.flex-main-right {
  justify-content: flex-end;
}

/* 主轴 边距对齐 */
.flex-main-around {
  justify-content: space-around;
}

/* 主轴 边界对齐 */
.flex-main-between {
  justify-content: space-between;
}

/* 主轴 间距对齐 */
.flex-main-evenly {
  justify-content: space-evenly;
}

/* 交叉轴 上对齐 */
.flex-cross-top {
  align-items: flex-start;
}

/* 交叉轴 下对齐 */
.flex-cross-bottom {
  align-items: flex-end;
}

/* 换行 */
.flex-wrap {
  flex-wrap: wrap;
}

/* 适配剩余高度 */
.flex-fitRestH {
  flex-grow: 1;
  height: 0;
}

/* 适配剩余宽度 */
.flex-fitRestW {
  flex-grow: 1;
  width: 0;
}
.flex-fitRest {
  flex-grow: 1;
}

/* 超出部分出省略号 */
.text-overflow {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  word-break: break-all;
}
